#ifndef CANVAS_TERMINAL_IMPL_H
#define CANVAS_TERMINAL_IMPL_H
#include "icanvas_impl.h"
#include "shapes.h"

class CanvasTerminalImpl : public ICanvasImpl {
private:
	bool use_phys_coord;
	double height, width;
	double phys_height, phys_width;
	double scaleH, scaleW;
	void getPhysInfo();
	void putDot(double vX, double vY, const char* style);
	double v2pX(double vX);
	double v2pY(double vY);

public:
	CanvasTerminalImpl() { }
	~CanvasTerminalImpl() { }
	void init();
	void init(double h, double w);
	void drawDot(Point* p, int style);
	void drawLine(Point* p1, Point* p2, int style);
	void drawRectangle(Point *p1, Point* p2, int style);
	void clean();
};
#endif
